<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
    作用：
        1.使用函数内部的变量在函数执行完后，仍然存活在内存中(延长了局部变量的生命周期)
        2.让函数外部可以操作(读写)到函数内部的数据(变量/函数)

    问题:
        1.函数执行完后,函数内部声明的局部变量是否还存在?
            *一般情况不存在,存在于闭包中的变量才可能存在
        2.在函数外部能直接访问函数内部的局部变量吗?
            *不能,但可以通过闭包让外部操作它
     -->

     <script>
        function fn1(){
            var a = 2
            function fn2(){
                a++
                console.log(a);
                // return a
            }
            function fn3(){
                a--
                console.log(a);
            }
            return fn3
        }
         var f = fn1()
         f()    //  1
         f()    //  0
     </script>
</body>
</html>